package guestbook.dao;

import com.google.appengine.api.datastore.Key;
import guestbook.persistencia.Saludo;
import guestbook.persistencia.Voto;
import java.util.List;
import javax.persistence.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
public class VotoDAOImplementation extends GenericDAOJPAImpl<Voto, Key> implements VotoDAO {
    
    @Override
    public List<Voto> getVotos(String username, Saludo saludo) {
        String sql = "SELECT v FROM Voto v WHERE v.usuario='" + username + "' AND v.saludo=:saludo";
        Query query = em.createQuery(sql).setParameter("saludo", saludo);
        return query.getResultList();
    }

    @Override
    @Transactional
    public void actualizarVoto(Voto voto, int nuevoValor) {
        Voto votoCopia = em.find(Voto.class, voto.getId());
        votoCopia.setVoto(nuevoValor);        
    }
}
